package object3;

/**
 * 代码块使用细节
 */
public class CodeBlockDetail03 {

    public static void main(String[] args) {

        /*
            构造器的最前面隐含了super()和调用普通代码块
         */
        new BBB();
        /*
            AAA 的普通代码块...
            AAA() 构造器被调用...
            BBB 的普通代码块...
            BBB() 构造器被调用...
         */
    }
}

class AAA {

    {
        System.out.println("AAA 的普通代码块...");
    }

    public AAA() {
        //super();
        //调用本类普通代码块
        System.out.println("AAA() 构造器被调用...");
    }
}

class BBB extends AAA {

    {
        System.out.println("BBB 的普通代码块...");
    }

    public BBB() {
        //super();
        //调用本类普通代码块
        System.out.println("BBB() 构造器被调用...");
    }
}
